1. Field of the Invention
The invention relates to data communication between computers. More specifically, the invention relates to a method of and apparatus for transferring a data package including an instruction portion and a data portion wherein a receiving computer uses the instruction portion to process the data portion.
2. Related Art
On-line computer services, such as electronic bulletin boards, offer computer user's access to data. The data is typically held remotely at a host or server. A local computer user or client establishes communication with the host in order to peruse the available data items. After locating a desired data item, a computer user may want access to the data locally without having to re-establish communication with the host. Typically, the computer user would download the data from the host to the local computer.
FIG. 1 shows a conventional arrangement in which a local computer 124 is connected to a host computer 120 over a communication link 128. The local computer 124 requests data 132 from the host computer 120. The host computer 120 transmits data 132 to the local computer 124.
Conventional computer systems are programmed to accommodate only certain types of data. If, for example, local computer 124 is configured to run operating system A, and data 132 is configured for operating system B, it is likely that data 132 is not accommodated on local computer 124. In this situation, data 132 is referred to as incompatible with local computer 124.
Another example is application specific data. If, for example, local computer 124 has a word processor application X, and data 132 is formatted for word processor application Y, then data 132 is likely to be incompatible with word processor application Y.
Data incompatibilities can arise, for example, with respect to computer hardware platforms, operating systems, and applications. Even with respect to data configured for a particular platform, operating system, or application, incompatibilities can arise with respect to the version of platform, operating system, or application for which the data is configured.
Therefore, a problem occurs if local computer 124 cannot process data 132. If local computer 124 attempts to process incompatible data, an error occurs. Such an error may cause the computer to stop normal operation or "hang." The error may cause an error report or the application which operates on the incompatible data may simply not work in the intended manner.
A conventional solution to this problem is to provide translators or interpreters on the local computer which convert from one format or configuration of data to another format or configuration which is compatible with the local computer. In the above examples, if data 132 could be reconfigured for operating system A or reformatted for word processor application Y, then the compatibility problem could be overcome. Such interpreters may be an integral part of an application, such as a word processor which accepts many formats, or may be a separate program running on the local computer. However, a problem occurs in that each translator or interpreter consumes additional local computer resources, such as storage space on a hard disk drive, and may be available only at additional cost to the user.
Another conventional approach to this problem is to standardize on a single format for a particular type of application. However, standardization raises problems philosophically by inhibiting experimentation and innovation which cannot be accommodated by the standard. Standardization is also subject to practical problems such as having an industry agree on the standard. Reaching agreement on standards is especially difficult in the software industry because of the numerous and diverse software development companies.
The above conventional solutions have a further problem in that the user is required to know the characteristics of the user's local computer, the user's applications, and the compatibility of the local computer and applications with the data on the host computer. Moreover, as more sources of data become available, more formats must be supported and it becomes difficult for the user to manage compatibility issues.
The problem is exacerbated on broad-based on-line services, such as those based on the internet, because of the diversity of computer platforms, operating systems, and applications which have access to the on-line data. Often, compatibility problems are not apparent from the data itself. A local computer user can waste valuable time and resources by downloading incompatible data.
What is needed is a communication system which transparently manages compatibility of data between a host and a local computer.